package com.yc.javaee.多线程;

public class 线程分类 {

    public static void main(String[] args) throws InterruptedException {
        // 主线程 : 程序main函数启动后 系统默认运行的线程, name就是main
        // 父子线程: 在线程内部启动的线程
        //   默认请情况下, 父线程会等待子线程执行结束之后, 才结束运行
        //   即使 父线程的代码已经执行完成
        // 精灵线程(守护线程)
        System.out.println("主线程启动....");
        new Thread(()->{
            System.out.println("子线程启动....");
            try {
                Thread.sleep(5000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("子线程结束....");
        }).start();


        Thread t = new Thread(()->{
            System.out.println("精灵线程启动....");
            try {
                Thread.sleep(8000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("精灵线程结束....");
        });
        t.setDaemon(true);  // 设置 t 为精灵线程
        t.start();

        Thread.sleep(3000);


        System.out.println("主线程代码执行完成....");

    }
}
